作者:坚韧稻草 | 来源:互联网 | 2023-08-28 13:35
科研搬砖日常,往往需要将各种图进行拼接,常用的组合包有patchwork
、cowplot
和gridExtra
等。但是这几款都是类似将图片进行拼接,图与图之间的关系是平等的,尽管可通过调整参数突出主图,但参数相对较多,不好记忆;而aplot正好能解决对主图注释这一痛点。下面就来学习下吧。
核心函数:
1.核心函数
1.1 insert_**()
rm(list = ls())
library(ggplot2)
library(aplot)
p
ap %
insert_top(p2,height = 0.3) %>%
insert_right(p3,width = 0.1)
ap
1.2 xlim2
p1
p2+xlim2(p1)
2.实战一:heatmap
rm(list = ls())
pacman::p_load(tidyverse,ggtree,aplot,reshape,ggExtra)
d %
data.frame()
rownames(d) % insert_left(phr,width = .3) %>%
insert_right(pp,width = .3) %>%
insert_right(g,width = .4) %>%
insert_top(pc,height =.1) %>%
insert_top(phc,height = .2)
看图确实让人感觉眼花缭乱的,但逻辑比较清晰,就是先用ggplot2绘制所有图,然后通过aplot将这些图放在主图的周围。
3.实战二:散点图+边际密度图
rm(list = ls())
library(ggsci)
pp %
insert_right(y,width = .2) %>%
insert_top(x,height = .3)
还可以用ggExtra
包直接展示
library(ggExtra)
p
参考链接:
1.R中的图片注释神包aplot
2.aplot: Decorate a ‘ggplot’ with Associated Information